package main

//import (
//	"encoding/json"
//	"fmt"
//	"github.com/mix-basic/delayer-client-golang/delayer"
//	"time"
//)
//
//func main() {
//	DelayerClient()
//}
//
//// 通过连接信息创建客户端
//func DelayerClient() {
//	cli := delayer.Client{
//		Host:     "43.255.53.66",
//		Port:     "6679",
//		Database: 0,
//		Password: "zack@root123.com",
//	}
//	if err := cli.Init(); err != nil {
//		fmt.Println("delayer初始化错误")
//	}
//
//	PushTest(&cli)
//	// RemoveTest(&cli)
//	// PopTest(&cli)
//	// BpopTest(&cli)
//
//}
//
//// 通过连接信息创建客户端
////func DelayerClient1() {
////	pool := redis.Pool{}
////	conn := pool.Get()
////	cli := delayer.Client{
////		Conn:conn,
////	}
////	if err :=cli.Init(); err != nil{
////		fmt.Println("delayer初始化错误")
////	}
////	//PushTest(&cli)
////	PopTest(&cli)
////	//BpopTest(&cli)
////	//RemoveTest(&cli)
////}
//
////群组聊天室时间段延时队列的包体数据
//type GroupTimesBodyMsg struct {
//	PlatID    uint32 `json:"PlatID"`
//	PlaceType uint32 `json:"PlaceType"`
//	PlaceID   uint32 `json:"PlaceID"`
//	Status    uint32 `json:"Status"` // 0 -- 不禁言  1 -- 禁言
//	Key       string `json:"Key"`
//	Begin     string `json:"Begin"`
//	End       string `json:"End"`
//}
//
//// push方法
//func PushTest(cli *delayer.Client) {
//
//	msg1 := new(GroupTimesBodyMsg)
//	msg1.PlatID = 190051
//	msg1.PlaceID = 387900003
//	msg1.PlaceType = 0
//	msg1.Begin = "04:00:00"
//	msg1.End = "21:22:59"
//	msg1.Key = "CHAT:GROUP:HASH:190051:387900003:end"
//
//	data, err := json.Marshal(msg1)
//	if err != nil {
//
//	}
//	msg := delayer.Message{
//		ID:    "CHAT:GROUP:HASH:190051:387900003:end",
//		Topic: "GroupTimes",
//		Body:  string(data),
//	}
//	reply, err := cli.Push(msg, 20, 50)
//	fmt.Println("msg: ", msg)
//	fmt.Println("reply: ", reply)
//	fmt.Println("err: ", err)
//}
//
////pop方法，取出一个到期的任务
//func PopTest(cli *delayer.Client) {
//	for i := 0; i < 10; i++ {
//		msg, err := cli.Pop("GroupTimes")
//		fmt.Println("msg: ", msg)
//		fmt.Println("err: ", err)
//		time.Sleep(time.Second * 5)
//	}
//}
//
//// bPop 方法,阻塞取出一个到期的任务
//func BpopTest(cli *delayer.Client) {
//	for i := 0; i < 10; i++ {
//		msg, err := cli.BPop("GroupTimes", 0)
//		fmt.Println("msg: ", msg)
//		fmt.Println("err: ", err)
//		time.Sleep(time.Second * 2)
//	}
//
//}
//
//// remove 方法
//func RemoveTest(cli *delayer.Client) {
//	ok, err := cli.Remove("109b46d3eb3e82c33703960a8cebbed5")
//	fmt.Println("ok: ", ok)
//	fmt.Println("err: ", err)
//}
